Repository navigation
refactor(mosaic): split user profile account section into profile, email, phone - #10078
Conversation
🦋 Changeset detectedLatest commit: e25a2f8 The changes in this PR will be included in the next version bump. This PR includes changesets to release 0 packagesWhen changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (104)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
💤 Files with no reviewable changes (27)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe combined user-profile account section is split into profile, email, and phone sections. Each section has its own model, controller, view, and supporting types. The profile panel now composes sections through slots. Tests, localization, live routes, fixtures, and stories are updated to reflect the separate sections. Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to The section split has no identified issue requiring resolution before merge; complete normal checks before merging. 🚥 Pre-merge checks | ✅ 4 | ❓ 1❌ Failed checks (1 inconclusive)✅ Passed checks (4 passed)Full details: Docstring CoverageExplanation Docstring coverage is 2.99% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 67 functions across 50 files. (27 skipped: 8 unsupported, 19 over the file limit.)
Comment |
b753a84 to
982c0c1
Compare
@clerk/astro
@clerk/backend
@clerk/chrome-extension
@clerk/clerk-js
@clerk/electron
@clerk/electron-passkeys
@clerk/eslint-plugin
@clerk/expo
@clerk/expo-biometrics
@clerk/expo-google-signin
@clerk/expo-passkeys
@clerk/express
@clerk/fastify
@clerk/hono
@clerk/localizations
@clerk/mosaic
@clerk/nextjs
@clerk/nuxt
@clerk/react
@clerk/react-router
@clerk/shared
@clerk/tanstack-react-start
@clerk/testing
@clerk/ui
@clerk/upgrade
@clerk/vue
commit: |
46f07a2 to
599c4aa
Compare
…, email, and phone sections
599c4aa to
1593d63
Compare
Description
Stacked on #9937.
Splits the Mosaic UserProfile account section into three sections that match the Mosaic design: Profile (picture, name, and username), Email, and Phone. Each one has its own folder with its own model, view, wrapper, and feature test, built on the shared
useUserProfileUserModel(). The email and phone row controllers become the email and phone section controllers.UserProfileProfilePanelViewnow takes only slots, in this order: profile, email, phone, connected accounts, enterprise accounts, Web3 wallets, danger.No section view calls a controller. Each wrapper renders a child that takes the ready model, calls the controller, and spreads the result into a pure view. The name and username edit dialogs are passed into their views as an action slot, the same way the password section does it. Each section's view props and model types live in a
.types.tsfile.Removed:
allowMultipleAccounts, along with the inline single-row layout it switched between.onManageEmailandonManagePhone.onAddEmailescape hatch, andonVerifyEmail/onVerifyPhone. Verifying always goes through the section's own verification dialog.Code shared by the email and phone sections now sits flat in
features/user-profile/, since it isn't a section: the contact list row and the contact types, utils, and messages.Swingset:
NestedandStandalonestories use the real add-email dialog in place of a hand-built one./live/profile,/live/email,/live/phone) in place of/live/account-section.Checklist
pnpm testruns as expected.pnpm buildruns as expected.Type of change